Add support for GDK_GL=texture-rectangles
authorAlexander Larsson <alexl@redhat.com>
Thu, 6 Nov 2014 10:29:51 +0000 (11:29 +0100)
committerAlexander Larsson <alexl@redhat.com>
Thu, 6 Nov 2014 11:24:43 +0000 (12:24 +0100)
This allows us to test our support for GL_ARB_texture_rectangle

gdk/gdk.c
gdk/gdkglcontext.c
gdk/gdkinternals.h

index 2b44b0faaf442e7b191864c1f956cfefe4bff828..a4f1f6288668ed0fb0673f17329b0dd09cc67fdc 100644 (file)
--- a/gdk/gdk.c
+++ b/gdk/gdk.c
@@ -140,6 +140,7 @@ static const GDebugKey gdk_gl_keys[] = {
   {"software-draw",         GDK_GL_FLAGS_SOFTWARE_DRAW_GL | GDK_GL_FLAGS_SOFTWARE_DRAW_SURFACE},
   {"software-draw-gl",      GDK_GL_FLAGS_SOFTWARE_DRAW_GL},
   {"software-draw-surface", GDK_GL_FLAGS_SOFTWARE_DRAW_SURFACE},
+  {"texture-rectangle",     GDK_GL_FLAGS_TEXTURE_RECTANGLE},
 };
 
 #ifdef G_ENABLE_DEBUG
index 1628e51cede946af0f7715360d80b0be26bef806..eef707c0b1936493f1c2bf2b1bc125ba6d0d3991 100644 (file)
@@ -359,7 +359,9 @@ gdk_gl_context_realize (GdkGLContext *context)
   has_npot = epoxy_has_gl_extension ("GL_ARB_texture_non_power_of_two");
   has_texture_rectangle = epoxy_has_gl_extension ("GL_ARB_texture_rectangle");
 
-  if (has_npot)
+  if (_gdk_gl_flags & GDK_GL_FLAGS_TEXTURE_RECTANGLE)
+    priv->use_texture_rectangle = TRUE;
+  else if (has_npot)
     priv->use_texture_rectangle = FALSE;
   else if (has_texture_rectangle)
     priv->use_texture_rectangle = TRUE;
index 3a6659bac861e553fc5502a2fc9e6d91695ef027..14141bde4caff34039b143d3183138cf465a271e 100644 (file)
@@ -93,6 +93,7 @@ typedef enum {
   GDK_GL_FLAGS_ALWAYS                 = 1 << 1,
   GDK_GL_FLAGS_SOFTWARE_DRAW_GL       = 1 << 2,
   GDK_GL_FLAGS_SOFTWARE_DRAW_SURFACE  = 1 << 3,
+  GDK_GL_FLAGS_TEXTURE_RECTANGLE      = 1 << 4,
 } GdkGLFlags;